package com.ims.core.doc.domain;

import java.math.BigDecimal;
import java.util.List;
import com.ims.common.annotation.Excel;
import com.ims.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 发票对象 t_sal_invoice_issue
 *
 * @author IMS
 * @date 2024-10-25
 */
public class TSalInvoiceIssue extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** 开票返回项ID */
    @Excel(name = "开票返回项ID")
    private String resultId;

    /** 发票ID */
    @Excel(name = "发票ID")
    private String invoiceId;

    /** 公司代码 */
    @Excel(name = "公司代码")
    private String custId;

    /** 公司代码 */
    @Excel(name = "公司代码")
    private String siteCode;

    /** 公司 */
    @Excel(name = "公司")
    private String siteName;

    /** 返回结果标识 */
    @Excel(name = "返回结果标识")
    private String resultFlag;

    /** 开票流水号 */
    @Excel(name = "开票流水号")
    private String serialNo;

    /** 合计金额 */
    @Excel(name = "合计金额")
    private BigDecimal invoiceTotalPrice;

    /** 合计税额 */
    @Excel(name = "合计税额")
    private BigDecimal invoiceTotalTax;

    /** 价税合计 */
    @Excel(name = "价税合计")
    private BigDecimal invoiceTotalPriceTax;

    /** 发票代码 */
    @Excel(name = "发票代码")
    private String invoiceCode;

    /** 发票号码 */
    @Excel(name = "发票号码")
    private String invoiceNo;

    /** 校验码 */
    @Excel(name = "校验码")
    private String invoiceCheckCode;

    /** 开票日期 */
    @Excel(name = "开票日期")
    private String invoiceDate;

    /** 二维码 */
    @Excel(name = "二维码")
    private String invoiceQrCode;

    /** 税控码 */
    @Excel(name = "税控码")
    private String taxControlCode;

    /** 发票类型代码 */
    @Excel(name = "发票类型代码")
    private String invoiceTypeCode;

    /** 电子发票PDF地址 */
    @Excel(name = "电子发票PDF地址")
    private String eInvoicePdfUrl;

    /** 电子发票OFD地址 */
    @Excel(name = "电子发票OFD地址")
    private String eInvoiceOfdUrl;

    /** 电子发票Xml地址 */
    @Excel(name = "电子发票Xml地址")
    private String eInvoiceXmlUrl;

    /** 纸质发票代码 */
    @Excel(name = "纸质发票代码")
    private String paperInvoiceCode;

    /** 纸质发票号码 */
    @Excel(name = "纸质发票号码")
    private String paperInvoiceNo;

    /** 共同购买方标识 */
    @Excel(name = "共同购买方标识")
    private String mulPurchaserMark;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String requestId;

    /** 销项开票返回商品明细信息 */
    private List<TSalInvoiceIssueEntry> tSalInvoiceIssueEntryList;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setResultId(String resultId)
    {
        this.resultId = resultId;
    }

    public String getResultId()
    {
        return resultId;
    }
    public void setInvoiceId(String invoiceId)
    {
        this.invoiceId = invoiceId;
    }

    public String getInvoiceId()
    {
        return invoiceId;
    }
    public void setCustId(String custId)
    {
        this.custId = custId;
    }

    public String getCustId()
    {
        return custId;
    }
    public void setSiteCode(String siteCode)
    {
        this.siteCode = siteCode;
    }

    public String getSiteCode()
    {
        return siteCode;
    }
    public void setSiteName(String siteName)
    {
        this.siteName = siteName;
    }

    public String getSiteName()
    {
        return siteName;
    }
    public void setResultFlag(String resultFlag)
    {
        this.resultFlag = resultFlag;
    }

    public String getResultFlag()
    {
        return resultFlag;
    }
    public void setSerialNo(String serialNo)
    {
        this.serialNo = serialNo;
    }

    public String getSerialNo()
    {
        return serialNo;
    }
    public void setInvoiceTotalPrice(BigDecimal invoiceTotalPrice)
    {
        this.invoiceTotalPrice = invoiceTotalPrice;
    }

    public BigDecimal getInvoiceTotalPrice()
    {
        return invoiceTotalPrice;
    }
    public void setInvoiceTotalTax(BigDecimal invoiceTotalTax)
    {
        this.invoiceTotalTax = invoiceTotalTax;
    }

    public BigDecimal getInvoiceTotalTax()
    {
        return invoiceTotalTax;
    }
    public void setInvoiceTotalPriceTax(BigDecimal invoiceTotalPriceTax)
    {
        this.invoiceTotalPriceTax = invoiceTotalPriceTax;
    }

    public BigDecimal getInvoiceTotalPriceTax()
    {
        return invoiceTotalPriceTax;
    }
    public void setInvoiceCode(String invoiceCode)
    {
        this.invoiceCode = invoiceCode;
    }

    public String getInvoiceCode()
    {
        return invoiceCode;
    }
    public void setInvoiceNo(String invoiceNo)
    {
        this.invoiceNo = invoiceNo;
    }

    public String getInvoiceNo()
    {
        return invoiceNo;
    }
    public void setInvoiceCheckCode(String invoiceCheckCode)
    {
        this.invoiceCheckCode = invoiceCheckCode;
    }

    public String getInvoiceCheckCode()
    {
        return invoiceCheckCode;
    }
    public void setInvoiceDate(String invoiceDate)
    {
        this.invoiceDate = invoiceDate;
    }

    public String getInvoiceDate()
    {
        return invoiceDate;
    }
    public void setInvoiceQrCode(String invoiceQrCode)
    {
        this.invoiceQrCode = invoiceQrCode;
    }

    public String getInvoiceQrCode()
    {
        return invoiceQrCode;
    }
    public void setTaxControlCode(String taxControlCode)
    {
        this.taxControlCode = taxControlCode;
    }

    public String getTaxControlCode()
    {
        return taxControlCode;
    }
    public void setInvoiceTypeCode(String invoiceTypeCode)
    {
        this.invoiceTypeCode = invoiceTypeCode;
    }

    public String getInvoiceTypeCode()
    {
        return invoiceTypeCode;
    }

    public String geteInvoicePdfUrl() {
        return eInvoicePdfUrl;
    }

    public void seteInvoicePdfUrl(String eInvoicePdfUrl) {
        this.eInvoicePdfUrl = eInvoicePdfUrl;
    }

    public String geteInvoiceOfdUrl() {
        return eInvoiceOfdUrl;
    }

    public void seteInvoiceOfdUrl(String eInvoiceOfdUrl) {
        this.eInvoiceOfdUrl = eInvoiceOfdUrl;
    }

    public String geteInvoiceXmlUrl() {
        return eInvoiceXmlUrl;
    }

    public void seteInvoiceXmlUrl(String eInvoiceXmlUrl) {
        this.eInvoiceXmlUrl = eInvoiceXmlUrl;
    }

    public void setPaperInvoiceCode(String paperInvoiceCode)
    {
        this.paperInvoiceCode = paperInvoiceCode;
    }

    public String getPaperInvoiceCode()
    {
        return paperInvoiceCode;
    }
    public void setPaperInvoiceNo(String paperInvoiceNo)
    {
        this.paperInvoiceNo = paperInvoiceNo;
    }

    public String getPaperInvoiceNo()
    {
        return paperInvoiceNo;
    }
    public void setMulPurchaserMark(String mulPurchaserMark)
    {
        this.mulPurchaserMark = mulPurchaserMark;
    }

    public String getMulPurchaserMark()
    {
        return mulPurchaserMark;
    }
    public void setRequestId(String requestId)
    {
        this.requestId = requestId;
    }

    public String getRequestId()
    {
        return requestId;
    }

    public List<TSalInvoiceIssueEntry> getTSalInvoiceIssueEntryList()
    {
        return tSalInvoiceIssueEntryList;
    }

    public void setTSalInvoiceIssueEntryList(List<TSalInvoiceIssueEntry> tSalInvoiceIssueEntryList)
    {
        this.tSalInvoiceIssueEntryList = tSalInvoiceIssueEntryList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("resultId", getResultId())
            .append("invoiceId", getInvoiceId())
            .append("custId", getCustId())
            .append("siteCode", getSiteCode())
            .append("siteName", getSiteName())
            .append("resultFlag", getResultFlag())
            .append("serialNo", getSerialNo())
            .append("invoiceTotalPrice", getInvoiceTotalPrice())
            .append("invoiceTotalTax", getInvoiceTotalTax())
            .append("invoiceTotalPriceTax", getInvoiceTotalPriceTax())
            .append("invoiceCode", getInvoiceCode())
            .append("invoiceNo", getInvoiceNo())
            .append("invoiceCheckCode", getInvoiceCheckCode())
            .append("invoiceDate", getInvoiceDate())
            .append("invoiceQrCode", getInvoiceQrCode())
            .append("taxControlCode", getTaxControlCode())
            .append("invoiceTypeCode", getInvoiceTypeCode())
            .append("paperInvoiceCode", getPaperInvoiceCode())
            .append("paperInvoiceNo", getPaperInvoiceNo())
            .append("mulPurchaserMark", getMulPurchaserMark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("requestId", getRequestId())
            .append("tSalInvoiceIssueEntryList", getTSalInvoiceIssueEntryList())
            .toString();
    }
}
